home *** CD-ROM | disk | FTP | other *** search
/ PC Answers 1995 May / PC Answers CD-ROM 7 (Future Publishing) (May 1995).iso / vbits / code / mee / vbdao / visdata / sql.frm (.txt) < prev    next >
Encoding:
Visual Basic Form  |  1994-10-06  |  4.7 KB  |  170 lines

  1. VERSION 2.00
  2. Begin Form fSQL 
  3.    BackColor       =   &H00C0C0C0&
  4.    Caption         =   "SQL Statement"
  5.    ClientHeight    =   2880
  6.    ClientLeft      =   3690
  7.    ClientTop       =   1575
  8.    ClientWidth     =   5250
  9.    Height          =   3285
  10.    Icon            =   0
  11.    Left            =   3630
  12.    LinkTopic       =   "Form1"
  13.    MDIChild        =   -1  'True
  14.    ScaleHeight     =   2863.353
  15.    ScaleMode       =   0  'User
  16.    ScaleWidth      =   5268
  17.    Top             =   1230
  18.    Width           =   5370
  19.    Begin CommandButton CreateQueryDefbtn 
  20.       Caption         =   "Create &QueryDef"
  21.       Height          =   375
  22.       Left            =   3045
  23.       TabIndex        =   3
  24.       Top             =   121
  25.       Visible         =   0   'False
  26.       Width           =   1695
  27.    End
  28.    Begin CommandButton ExecuteSQLButton 
  29.       Caption         =   "&Execute SQL"
  30.       Default         =   -1  'True
  31.       Enabled         =   0   'False
  32.       Height          =   372
  33.       Left            =   120
  34.       TabIndex        =   2
  35.       Top             =   120
  36.       Width           =   1332
  37.    End
  38.    Begin CommandButton ClearSQLButton 
  39.       Caption         =   "&Clear SQL"
  40.       Height          =   372
  41.       Left            =   1560
  42.       TabIndex        =   1
  43.       Top             =   120
  44.       Width           =   1332
  45.    End
  46.    Begin TextBox cSQLStatement 
  47.       BackColor       =   &H00FFFFFF&
  48.       Height          =   2175
  49.       Left            =   120
  50.       MultiLine       =   -1  'True
  51.       ScrollBars      =   2  'Vertical
  52.       TabIndex        =   0
  53.       Tag             =   "OLS"
  54.       Top             =   600
  55.       Width           =   5055
  56.    End
  57. Option Explicit
  58. Sub ClearSQLButton_Click ()
  59.   cSQLStatement = NULL_STR
  60.   cSQLStatement.SetFocus
  61. End Sub
  62. Sub CreateQueryDefbtn_Click ()
  63.   Dim qn As String
  64.   Dim q As QueryDef
  65.   On Error GoTo CQDErr
  66.   qn = InputBox("Enter QueryDef Name:")
  67.   If Len(qn) = 0 Then Exit Sub
  68.   Set q = gCurrentDB.CreateQueryDef(qn, cSQLStatement)
  69.   RefreshTables fTables.cTableList, True
  70.   GoTo CQDEnd
  71. CQDErr:
  72.   ShowError
  73.   Resume CQDEnd
  74. CQDEnd:
  75. End Sub
  76. Sub cSQLStatement_Change ()
  77.   If Len(cSQLStatement) > 0 Then
  78.     ExecuteSQLButton.Enabled = True
  79.   Else
  80.     ExecuteSQLButton.Enabled = False
  81.   End If
  82. End Sub
  83. Sub ExecuteSQLButton_Click ()
  84.    Dim RetSQL As Long
  85.    If Len(cSQLStatement) = 0 Then Exit Sub
  86.    MsgBar "Executing SQL Statement", True
  87.    SetHourglass Me
  88.    If UCase(Mid(cSQLStatement, 1, 6)) = "SELECT" And InStr(UCase(cSQLStatement), " INTO ") = 0 Then
  89.      On Error GoTo SQLDSErr
  90. MakeDynaset:
  91.      gfFromSQL = True
  92.      'create a new dynaset form
  93.      gstDynaString = NULL_STR
  94.      On Error GoTo SQLDSErr
  95.      If VDMDI.cSingleRecord = True Then
  96.        Dim dsform1 As New fDynaset
  97.        dsform1.Show
  98.      ElseIf VDMDI.cDataCtl = True Then
  99.        Dim dsform2 As New fDataForm
  100.        dsform2.Show
  101.      ElseIf VDMDI.cTableView = True Then
  102.        Dim dsform3 As New fGridFrm
  103.        dsform3.Show
  104.      Else
  105.        Dim dsform4 As New fGridFrmSS
  106.        dsform4.Show
  107.      End If
  108.    ElseIf UCase(cSQLStatement) = "LISTTABLES" Then
  109.      GoTo MakeDynaset
  110.    Else
  111.      On Error GoTo SQLErr
  112.      If gstDataType = SQLDB Then
  113.        If UCase(Mid(cSQLStatement, 1, 4)) = "USE " Then
  114.          Beep
  115.          MsgBox "'Use' not allowed, try Open DataBase.", 48
  116.          GoTo SQLEnd
  117.        End If
  118.        RetSQL = gCurrentDB.ExecuteSQL(cSQLStatement)
  119.        If RetSQL > 0 Then
  120.          If gfTransPending Then gfDBChanged = True
  121.        End If
  122.        MsgBox CStr(RetSQL) & " row(s) Affected by SQL Statement.", 48
  123.      Else
  124.        gCurrentDB.Execute (cSQLStatement)
  125.        MsgBox "Execute of SQL Statement was Successful.", 48
  126.      End If
  127.    End If
  128.    GoTo SQLEnd
  129. SQLErr:
  130.    If Err = 3065 Then   'row returning so try to create dynaset
  131.      Resume MakeDynaset
  132.    End If
  133.    ShowError
  134.    Resume SQLEnd
  135. SQLDSErr:
  136.    Resume SQLEnd
  137. SQLEnd:
  138.    ResetMouse Me
  139.    MsgBar NULL_STR, False
  140. End Sub
  141. Sub Form_Load ()
  142.   Dim x As Integer
  143.   cSQLStatement = GetINIString("SQLStatement", NULL_STR)
  144.   x = Val(GetINIString("SQLWindowHeight", "3000"))
  145.   Height = x
  146.   x = Val(GetINIString("SQLWindowWidth", "5370"))
  147.   Width = x
  148.   x = Val(GetINIString("SQLWindowTop", "0"))
  149.   Top = x
  150.   x = Val(GetINIString("SQLWindowLeft", CStr(fTables.Left + fTables.Width)))
  151.   Left = x
  152. End Sub
  153. Sub Form_Paint ()
  154.   Outlines Me
  155. End Sub
  156. Sub Form_Resize ()
  157.   On Error Resume Next
  158.   If WindowState <> 1 Then
  159.     cSQLStatement.Width = Width - 320
  160.     cSQLStatement.Height = Height - 1150
  161.     Outlines Me
  162.     Me.Refresh
  163.   End If
  164. End Sub
  165. Sub Form_Unload (Cancel As Integer)
  166.   Dim x As Integer
  167.   Me.WindowState = 1
  168.   Cancel = True
  169. End Sub
  170.